package com.longrise.android.byjk.plugins.hra;

import com.longrise.common.utils.PrintLog;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;

/**
 * 时间日期帮助类
 * 
 * @author lincong
 * 
 */
public class TimeUtil
{
	private static GregorianCalendar calendar = new GregorianCalendar(); 
	private static SimpleDateFormat format = null;

	/**
	 * 将日期字符串转会为相应的日期描述
	 * 
	 * @param dateTimeStr
	 *            日期字符串,目前支持以下四种形式：<br>
	 *            <ol>
	 *            <li>yyyy-MM-dd</li>
	 *            <li>yyyy-MM-dd HH:mm</li>
	 *            <li>yyyy-MM-dd HH:mm:ss</li>
	 *            <li>yyyy-MM-dd HH:mm:ss.SSS</li>
	 *            </ol>
	 * @return {@link String} 转换之后的字符串
	 * @author lincong
	 */
	public static String formatTimeToString(String dateTimeStr) throws ParseException, NullPointerException
	{
		String timeStr = null;
		Date date = null;
		if (dateTimeStr == null)
		{
			// 抛出带消息的空指针异常 zhangyan
			throw new NullPointerException("formatTimeToString：dateTimeStr不允许为空");
		} else
		{
			// 将传递进来的日期字符串转换为Date类型
			if (dateTimeStr.trim().length() == 10)
			{
				format = new SimpleDateFormat("yyyy-MM-dd");
				date = format.parse(dateTimeStr);
			} else if (dateTimeStr.trim().length() == 16)
			{
				format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
				date = format.parse(dateTimeStr);
			} else if (dateTimeStr.trim().length() == 19)
			{
				format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				date = format.parse(dateTimeStr);
			} else if (dateTimeStr.trim().length() > 19)
			{
				format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				date = format.parse(dateTimeStr);
			}

			/**
			 * 当前日期
			 */
			Date currentDate = new Date();

			// 将日期转换为long类型
			long currentDateLong = currentDate.getTime();
			long dateLong = date.getTime();
			long timeInterval = currentDateLong - dateLong;
			// 一分钟内
			if (timeInterval < 1000 * 60)
			{
				timeStr = "刚刚";
			}
			// >= 1分钟，< 1小时
			else if (timeInterval >= 1000 * 60 && timeInterval < 1000 * 60 * 60)
			{
				timeStr = timeInterval / (1000 * 60) + "分钟前";
			}
			// >= 1小时，< 1天
			else if (timeInterval >= 1000 * 60 * 60 && timeInterval < 1000 * 60 * 60 * 24)
			{
				timeStr = timeInterval / (1000 * 60 * 60) + "小时前";
			}
			// >= 1天，< 一周
			else if (timeInterval >= 1000 * 60 * 60 * 24 && timeInterval < 1000 * 60 * 60 * 24 * 7)
			{
				timeStr = timeInterval / (1000 * 60 * 60 * 24) + "天前";
			}
			// >= 一周
			else
			{
				format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
				timeStr = format.format(date);
			}
		}
		return timeStr;
	}

	/**
	 * 求某一日期和当期日期的时间差
	 * 
	 * @param date
	 *            {@link Date}
	 * @return {@link Long}
	 */
	public static long diffToCurrentTime(Date date)
	{
		long diffTime = 0L;
		Date currentTime = new Date();
		long longCurrentTime = currentTime.getTime();
		long longDate = date.getTime();
		diffTime = longCurrentTime - longDate;
		return diffTime;
	}

	/**
	 * 
	 * @author windyStreet
	 * @function 比较两个时间大小
	 * @date 2015年12月14日 上午9:50:20
	 * @param DATE1
	 *            时间1
	 * @param DATE2
	 *            时间2
	 * @return 时间1 > 时间2 : 返回值 > 0(1) 时间1 = 时间2 : 返回值 = 0(0) 时间1 < 时间2 : 返回值 <
	 *         0(-1)
	 */
	public static int compare_date(String DATE1, String DATE2)
	{
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		try
		{
			long t1 = df.parse(DATE1).getTime();
			long t2 = df.parse(DATE2).getTime();
			return (t1 > t2) ? 1 : (t1 == t2) ? 0 : -1;
		} catch (Exception exception)
		{
			exception.printStackTrace();
		}
		return 0;
	}

	/**
	 * 
	 * @author windyStreet
	 * @function 比较两个时间大小
	 * @date 2015年12月14日 上午9:50:20
	 * @param DATE1
	 *            时间1
	 * @param DATE2
	 *            时间2
	 * @return 时间1 > 时间2 : 返回值 > 0(1) 时间1 = 时间2 : 返回值 = 0(0) 时间1 < 时间2 : 返回值 <
	 *         0(-1)
	 */
	public static int compare_date(Date DATE1, Date DATE2)
	{
		try
		{
			long t1 = DATE1.getTime();
			long t2 = DATE2.getTime();
			return (t1 > t2) ? 1 : (t1 == t2) ? 0 : -1;
		} catch (Exception exception)
		{
			exception.printStackTrace();
		}
		return 0;
	}

	/**
	 * 
	 * @author windyStreet
	 * @function 当前时间与待比较时间进行比较
	 * @date 2015年12月14日 上午9:53:50
	 * @param DATE
	 *            待比较时间
	 * @return 待比较时间 > 当前时间 : 返回值 > 0(1) 待比较时间 = 当前时间 : 返回值 = 0(0) 待比较时间 < 当前时间
	 *         : 返回值 < 0(-1)
	 * */
	public static int compare_now(String DATE)
	{
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		try
		{
			long t1 = new Date().getTime();
			long t2 = df.parse(DATE).getTime();
			return (t1 > t2) ? 1 : (t1 == t2) ? 0 : -1;
		} catch (Exception exception)
		{
			exception.printStackTrace();
		}
		return 0;
	}

	/**
	 * 
	 * @author windyStreet
	 * @function 当前时间与待比较时间进行比较
	 * @date 2015年12月14日 上午9:53:50
	 * @param DATE
	 *            待比较时间
	 * @return 待比较时间 > 当前时间 : 返回值 > 0(1) 待比较时间 = 当前时间 : 返回值 = 0(0) 待比较时间 < 当前时间
	 *         : 返回值 < 0(-1)
	 * */
	public static int compare_now(Date DATE)
	{
		try
		{
			long t1 = new Date().getTime();
			long t2 = DATE.getTime();
			return (t1 > t2) ? 1 : (t1 == t2) ? 0 : -1;
		} catch (Exception exception)
		{
			exception.printStackTrace();
		}
		return 0;
	}

	/**
	 * 
	 * @param date
	 * @param rule
	 *            {规则说明，YYYY替换为年，MM替换为月，DD替换为日，hh替换为小时，mm替换为分，ss替换秒}
	 * @eg YYYY年MM月DD日hh时mm分ss秒 --> 2015年12月01日07时03分25秒
	 * @eg MM月DD日hh时mm分ss秒YYYY年 --> 12月01日7时3分25秒2015年
	 * @eg YYYY年MM月DD日hh:mm --> 2015年12月01日07:03
	 * @return
	 */
	public static String getHumanFormateTime(Date date, String rule)
	{
		if (rule == null || "".equals(rule))
			return date + "";

		Calendar cal = Calendar.getInstance();
		cal.setTime(date);

		String year = String.valueOf(cal.get(Calendar.YEAR));
		String month = String.valueOf(cal.get(Calendar.MONTH) < 10 ? "0" + (cal.get(Calendar.MONTH) + 1) : cal.get(Calendar.MONTH));
		String day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH) < 10 ? "0" + cal.get(Calendar.DAY_OF_MONTH) : cal.get(Calendar.DAY_OF_MONTH));
		String hour = String.valueOf(cal.get(Calendar.HOUR_OF_DAY) < 10 ? "0" + cal.get(Calendar.HOUR_OF_DAY) : cal.get(Calendar.HOUR_OF_DAY));
		String min = String.valueOf(cal.get(Calendar.MINUTE) < 10 ? "0" + cal.get(Calendar.MINUTE) : cal.get(Calendar.MINUTE));
		String second = String.valueOf(cal.get(Calendar.SECOND) < 10 ? "0" + cal.get(Calendar.SECOND) : cal.get(Calendar.SECOND));

		return rule.replace("YYYY", year).replace("MM", month).replace("DD", day).replace("hh", hour).replace("mm", min).replace("ss", second);
	}

	/**
	 * 
	 * @param date
	 * @param rule
	 *            {规则说明，YYYY替换为年，MM替换为月，DD替换为日，hh替换为小时，mm替换为分，ss替换秒}
	 * @eg YYYY年MM月DD日hh时mm分ss秒 --> 2015年12月01日07时03分25秒
	 * @eg MM月DD日hh时mm分ss秒YYYY年 --> 12月01日7时3分25秒2015年
	 * @eg YYYY年MM月DD日hh:mm --> 2015年12月01日07:03
	 * @return
	 */
	public static String getHumanFormateTime(String date, String rule)
	{
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
		try
		{
			Date d1 = df.parse(date);
			return getHumanFormateTime(d1, rule);
		} catch (ParseException e)
		{
			e.printStackTrace();
		}
		return "";
	}

	public static boolean isNowBetweenTimeZone(String date1, String date2)
	{
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		try
		{
			long d1 = df.parse(date1).getTime();
			long d2 = df.parse(date2).getTime();
			if (d1 - d2 > 0)
			{
				long tmp = d1;
				d1 = d2;
				d2 = tmp;
			}
			long now = new Date().getTime();
			if (d1 - now <= 0 && now - d2 <= 0)
				return true;
			return false;
		} catch (ParseException e)
		{
			e.printStackTrace();
			return false;
		}
	}

	public static boolean isNowBetweenTimeZone(Date date1, Date date2)
	{
		long d1 = date1.getTime();
		long d2 = date2.getTime();
		if (d1 - d2 > 0)
		{
			long tmp = d1;
			d1 = d2;
			d2 = tmp;
		}
		long now = new Date().getTime();
		if (d1 - now >= 0 && now - d2 >= 0)
			return true;
		return false;
	}
	
	/**
	 * 将日期字符串转会为相应的日期描述（小于1天用日期描述，否则显示日期）
	 * 
	 * @param dateTimeStr
	 *            日期字符串,目前支持以下四种形式：<br>
	 *            <ol>
	 *            <li>yyyy-MM-dd</li>
	 *            <li>yyyy-MM-dd HH:mm</li>
	 *            <li>yyyy-MM-dd HH:mm:ss</li>
	 *            <li>yyyy-MM-dd HH:mm:ss.SSS</li>
	 *            </ol>
	 * @return {@link String} 转换之后的字符串
	 * @author lincong
	 */
	public static String BBT_formatTimeToString(String dateTimeStr) throws ParseException, NullPointerException
	{
		String timeStr = null;
		Date date = null;
		if (dateTimeStr == null)
		{
			// 抛出带消息的空指针异常 zhangyan
			throw new NullPointerException("BBT_formatTimeToString：dateTimeStr不允许为空");
		} else
		{
			// 将传递进来的日期字符串转换为Date类型
			if (dateTimeStr.trim().length() == 10)
			{
				format = new SimpleDateFormat("yyyy-MM-dd");
				date = format.parse(dateTimeStr);
			} else if (dateTimeStr.trim().length() == 16)
			{
				format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
				date = format.parse(dateTimeStr);
			} else if (dateTimeStr.trim().length() == 19)
			{
				format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				date = format.parse(dateTimeStr);
			} else if (dateTimeStr.trim().length() > 19)
			{
				format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				date = format.parse(dateTimeStr);
			}

			/**
			 * 当前日期
			 */
			Date currentDate = new Date();

			// 将日期转换为long类型
			long currentDateLong = currentDate.getTime();
			long dateLong = date.getTime();
			long timeInterval = currentDateLong - dateLong;
			// 一分钟内
			if (timeInterval < 1000 * 60)
			{
				timeStr = "刚刚";
			}
			// >= 1分钟，< 1小时
			else if (timeInterval >= 1000 * 60 && timeInterval < 1000 * 60 * 60)
			{
				timeStr = timeInterval / (1000 * 60) + "分钟前";
			}
			// >= 1小时，< 1天
			else if (timeInterval >= 1000 * 60 * 60 && timeInterval < 1000 * 60 * 60 * 24)
			{
				timeStr = timeInterval / (1000 * 60 * 60) + "小时前";
			}
			// >= 1天
			else
			{
				// > 1天  ，年份为当前年份，省略年份
				SimpleDateFormat format1 = new SimpleDateFormat("yyyy");
				if(dateTimeStr.substring(0,4).equals(format1.format(new Date())))
				{
					timeStr = dateTimeStr.substring(5);
				}else
				{
					timeStr = dateTimeStr;								
				}
			}
		}
		return timeStr;
	}
	
	/**
	 * 将日期字符串转会为相应的日期描述（小于1天用日期描述，否则显示日期）
	 * 
	 * @param dateTimeStr
	 *            日期字符串,目前支持以下四种形式：<br>
	 *            <ol>
	 *            <li>yyyy-MM-dd</li>
	 *            <li>yyyy-MM-dd HH:mm</li>
	 *            <li>yyyy-MM-dd HH:mm:ss</li>
	 *            <li>yyyy-MM-dd HH:mm:ss.SSS</li>
	 *            </ol>
	 * @param standardFormat: 预转日期格式
	 * @return {@link String} 转换之后的字符串
	 * @author lincong
	 */
	public static String BBT_formatTimeToString(String dateTimeStr,SimpleDateFormat standardFormat) throws ParseException, NullPointerException
	{
		String timeStr = null;
		Date date = null;
		if (dateTimeStr == null)
		{
			// 抛出带消息的空指针异常 zhangyan
			throw new NullPointerException("BBT_formatTimeToString：dateTimeStr不允许为空");
		} else
		{
			// 将传递进来的日期字符串转换为Date类型
			if (dateTimeStr.trim().length() == 10)
			{
				format = new SimpleDateFormat("yyyy-MM-dd");
				date = format.parse(dateTimeStr);
			} else if (dateTimeStr.trim().length() == 16)
			{
				format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
				date = format.parse(dateTimeStr);
			} else if (dateTimeStr.trim().length() == 19)
			{
				format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				date = format.parse(dateTimeStr);
			} else if (dateTimeStr.trim().length() > 19)
			{
				format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				date = format.parse(dateTimeStr);
			}

			/**
			 * 当前日期
			 */
			Date currentDate = new Date();

			// 将日期转换为long类型
			long currentDateLong = currentDate.getTime();
			long dateLong = date.getTime();
			long timeInterval = currentDateLong - dateLong;
			// 一分钟内
			if (timeInterval < 1000 * 60)
			{
				timeStr = "刚刚";
			}
			// >= 1分钟，< 1小时
			else if (timeInterval >= 1000 * 60 && timeInterval < 1000 * 60 * 60)
			{
				timeStr = timeInterval / (1000 * 60) + "分钟前";
			}
			// >= 1小时，< 1天
			else if (timeInterval >= 1000 * 60 * 60 && timeInterval < 1000 * 60 * 60 * 24)
			{
				timeStr = timeInterval / (1000 * 60 * 60) + "小时前";
			}
			// >= 1天
			else
			{
				if(standardFormat != null)
				{
					timeStr = standardFormat.format(date);//转换成预定格式
					// > 1天  ，年份为当前年份，省略年份
					SimpleDateFormat format1 = new SimpleDateFormat("yyyy");
					if(timeStr.substring(0,4).equals(format1.format(new Date())))
					{
						timeStr = timeStr.substring(5);
					}
				}
			}
		}
		return timeStr;
	}
	
	public static long getExpirationdate(String date){
		if(date==null){
			return 0;
		}
		if(date.length()>11){
			date = date.substring(0,11)+"23:59:59.999";
		}
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
		long ymd = 0 ;
		try {
			 ymd = sdf.parse(date).getTime();
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return ymd;
	}
	
	/**
	   * 获取时间 小时:分;秒 HH:mm:ss
	   * 
	   * @return
	   */
	public static String getTimeShort(String strDate) {
		SimpleDateFormat dateformatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		SimpleDateFormat timeformatter = new SimpleDateFormat("HH:mm");
		ParsePosition pos = new ParsePosition(0);
		Date strtodate = dateformatter.parse(strDate, pos);
		String timeString = timeformatter.format(strtodate);
		return timeString;
	}

	/**
	 * 当前日期是星期几
	 * 
	 * @param strDate
	 */
	public static String getWeek(String strDate) {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		String[] weeks = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
		Calendar cal = Calendar.getInstance();
		try {
			cal.setTime(format.parse(strDate));
			int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1;
			if (week_index < 0) {
				week_index = 0;
			}
			return weeks[week_index];
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "";
	}

	/**
	 * 获取n天后的的时间的0点0分0秒
	 * 
	 * @return
	 */
	public static String getDateBeforeZero(Date d, int day) {
		Calendar now = Calendar.getInstance();
		now.setTime(d);
		now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
		format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
		String nowtime = format.format(now.getTime());
		nowtime = nowtime.substring(0, 11) + "00:00:00.000";
		return nowtime;
	}

	/**
	 * 获取n天后的的时间的23点59分59秒
	 * 
	 * @return
	 */
	public static String getDateBefore23(Date d, int day) {
		Calendar now = Calendar.getInstance();
		now.setTime(d);
		now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
		format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
		String nowtime = format.format(now.getTime());
		nowtime = nowtime.substring(0, 11) + "23:59:59.999";
		return nowtime;
	}
	
	
	
	// 提供“yyyy-mm-dd”形式的字符串到毫秒的转换  
    public static long getMillis(String dateString) {  
        String[] date = dateString.split("-");
        return getMillis(date[0], date[1], date[2]);
  
    }  
  
    // 根据输入的年、月、日，转换成毫秒表示的时间  
    public static long getMillis(int year, int month, int day) {  
        GregorianCalendar calendar = new GregorianCalendar(year, month, day);
        return calendar.getTimeInMillis();
  
    }  
  
    // 根据输入的年、月、日，转换成毫秒表示的时间  
    public static long getMillis(String yearString, String monthString,  
            String dayString) {  
        int year = Integer.parseInt(yearString);  
        int month = Integer.parseInt(monthString)-1;  
        int day = Integer.parseInt(dayString);
        return getMillis(year, month, day);
  
    }

	/**根据输入的毫秒数，获得日期字符串
	 *
	 *
	 * @param millis   毫秒数
	 * @return   2018-01-18
	 */
	public static String getDate(long millis) {
        String formatedDateTime = getFormatedDateTime("yyyy-MM-dd", millis);
//        GregorianCalendar calendar = new GregorianCalendar();
//		calendar.setTimeInMillis(millis);
//		return DateFormat.getDateInstance().format(calendar.getTime());
        return formatedDateTime;

	}
    
	// 获得当前时间的毫秒表示
	public static long getNow() {
		GregorianCalendar now = new GregorianCalendar();
		return now.getTimeInMillis();

	}
    
	// 获得今天日期
	public static String getTodayData() {
		return getDate(getNow());

	}

	// 获得明天日期
	public static String getTomoData() {
		// 86400000为一天的毫秒数
		return getDate(getNow() + 86400000);

	}
	
	 /** 
     * 获取今天时间具体内容 
     * @return 
     */  
    public static String StringData() {  
        final Calendar c = Calendar.getInstance();  
        c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));  
        String mYear = String.valueOf(c.get(Calendar.YEAR)); // 获取当前年份  
        String mMonth = String.valueOf(c.get(Calendar.MONTH) + 1);// 获取当前月份  
        String mDay = String.valueOf(c.get(Calendar.DAY_OF_MONTH));// 获取当前月份的日期号码  
        String mWay = String.valueOf(c.get(Calendar.DAY_OF_WEEK));  
        if ("1".equals(mWay)) {  
            mWay = "天";  
        } else if ("2".equals(mWay)) {  
            mWay = "一";  
        } else if ("3".equals(mWay)) {  
            mWay = "二";  
        } else if ("4".equals(mWay)) {  
            mWay = "三";  
        } else if ("5".equals(mWay)) {  
            mWay = "四";  
        } else if ("6".equals(mWay)) {  
            mWay = "五";  
        } else if ("7".equals(mWay)) {  
            mWay = "六";  
        }  
        return mYear + "年" + mMonth + "月" + mDay + "日" + " 星期" + mWay;  
    }  
	
	 //获取指定毫秒数的对应星期  
    public static String getWeek(long millis) {  
        calendar.setTimeInMillis(millis);  
        String week = "";  
        int cweek = calendar.get(Calendar.DAY_OF_WEEK);  
        switch (cweek) {  
        case 1:  
            week = "日";  
            break;  
        case 2:  
            week = "一";  
            break;  
        case 3:  
            week = "二";  
            break;  
        case 4:  
            week = "三";  
            break;  
        case 5:  
            week = "四";  
            break;  
        case 6:  
            week = "五";  
            break;  
        case 7:  
            week = "六";  
            break;  
        }  
        return week;  
    }
	
	/** 
     * 获取类似今天、昨天的简单名称 
     * @param date 格式为 20xx-xx-xx 
     * @return 
     */  
    public static String getCustomStr(String date){
        if(getMillis(date)==getMillis(getTodayData())){
            return "今天";
        }else if(getMillis(date)==getMillis(getTomoData())){  
            return "明天";  
        }else{  
            return "星期"+getWeek((getMillis(date)));  
        }  
    }  
    
	/** 
     * 
     * @param date 格式为 20xx-xx-xx 
     * @return  x月x日
     */  
    public static String getDateOfZh(Date date){ 
    	String mMonth = String.valueOf(date.getMinutes()+2);
    	String mDay = String.valueOf(date.getDate());
		PrintLog.e("11111111111","mMonth=:"+mMonth);
        return mMonth+"月"+mDay+"日";
    }


	/**
	 *
	 * @param stringdate 格式为 20xx-xx-xx
	 * @return  x月x日
	 */
	public static String getDateOfMonth(String stringdate) throws ParseException {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		Date date = format.parse(stringdate);
		// 获取日期实例
		Calendar calendar = Calendar.getInstance();
		// 将日历设置为指定的时间
		calendar.setTime(date);
		// 获取月
		int mMonth = calendar.get(Calendar.MONTH)+1;
		// 获取天
		int mDay = calendar.get(Calendar.DAY_OF_MONTH);
		return mMonth+"月"+mDay+"日";
	}


	/**
	 *
	 * @param pattern  格式
	 * @param dateTime  毫秒数
	 * @return
	 */
	public static String getFormatedDateTime(String pattern, long dateTime) {
		SimpleDateFormat sDateFormat = new SimpleDateFormat(pattern);
		return sDateFormat.format(new Date(dateTime + 0));
	}
}
